package com.wzr.main.util.upload;

import java.io.File;

public class UploadCommonTools {
    /**
     * 去掉指定字符串的开头和结尾的指定字符
     *
     * @param redanStr 原始字符串
     * @param trimStr  要删除的字符串
     * @return
     */
    public static String StringTrim(String redanStr, String trimStr) {
        // null或者空字符串的时候不处理
        if (redanStr == null || redanStr.length() == 0 || trimStr == null || trimStr.length() == 0
                || trimStr.length() > redanStr.length()) {
            return redanStr;
        }
        // 结束标志
        boolean endFlag = false;
        int point = 0;
        int move = trimStr.length();
        String clearStr = redanStr.replaceAll("^" + trimStr + "+|" + trimStr + "$", "");
        return clearStr;
    }

    /**
     * 取文件扩展名(包括点号)
     *
     * @param file_name
     * @returns {string}
     */
    public static String getExtension(String file_name) {
        int indexExt = file_name.lastIndexOf('.');
        String result = (0 <= indexExt) ? file_name.substring(indexExt) : "";
        return result;
    }

    /**
     * 判断文件是否存在, 可读, 大小不为0, 扩展名不为空
     * @param file
     * @return
     */
    public static boolean isReadableExtFile(File file) {
        if (null == file || !file.exists() || !file.isFile() || file.getName().isEmpty()
                || !file.canRead() || 0 == file.length()) {
            return false;
        }

        if (getExtension(file.getName()).isEmpty()) {
            return false;
        }
        return true;
    }

    /**
     * 传入一个文件夹的绝对路径字符串, 创建所有路径上不存在的文件夹
     *
     * @param folderPath
     * @return
     */
    public static boolean makePathDirs(String folderPath) {
        File file = new File(folderPath);
        if (!file.exists()) {
            return file.mkdirs();
        }
        return false;
    }
}
